﻿using System;
using System.Globalization;
using System.Windows.Data;

namespace Black.Minecraft.Editor.Converters
{
    /// <summary>
    /// Converter qui met en case basse une chaine
    /// </summary>
    public class StringToLowerCaseConverter : IValueConverter
    {
        /// <summary>
        /// Convertie la chaine en capitale
        /// </summary>
        /// <param name="value">Nom de l'assembly à instancier</param>
        /// <param name="targetType">Type de la target</param>
        /// <param name="parameter">Paramètre de la conversion</param>
        /// <param name="language">Culture de la conversion</param>
        /// <returns>Instance, sinon valeur d'origine</returns>
        public object Convert(object value, Type targetType, object parameter, CultureInfo language)
        {
            // Est-il null ?

            if (value != null)
                return (value.ToString().ToLower());

            // Pas de convertion

            return (value);
        }

        /// <summary>
        /// Ne fait aucune conversion
        /// </summary>
        /// <param name="value">Nom de l'assembly à instancier</param>
        /// <param name="targetType">Type de la target</param>
        /// <param name="parameter">Paramètre de la conversion</param>
        /// <param name="language">Culture de la conversion</param>
        /// <returns>Chaine de caractère, sinon valeur d'origine</returns>
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo language)
        {
            // Pas de convertion

            return (value);
        }
    }
}
